package com.project.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.project.bean.GradeBean;
import com.project.bean.RoleBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface IRoleMapper extends BaseMapper<RoleBean> {
    /**
     * 查询角色的权限
     *      * 通过角色id数组查询角色权限
     *      * 通过角色id数组查询角色权限集合，去除重复权限。
     * @param array 角色id数组
     * @return  权限集合
     */
    List<GradeBean> findByIdArray(@Param("array") int[] array);
    /**
     * 通过角色id删除用户角色中间表
     * @param roleId
     */
    void delUser_Role(Integer roleId);

    /**
     * 通过角色id删除权限角色中间表
     * @param roleId
     */
    void delGrade_Role(Integer roleId);

    /**
     * 通过角色ID查询角色拥有的权限集合
     * @param roleId    角色id
     * @return  权限集合
     */
    List<GradeBean>findByRoleId(Integer roleId);

    /**
     * 通过角色id，添加新的权限信息
     * @param id    角色id
     * @param array 新的权限数组
     */
    void addGradeRole(@Param("id") Integer id,
                       @Param("gradeArray") int[] array);

}
